//------------------------------------------------------------------------------
// Copyright (c) 2008 www.dnaide.com
// Licensed under the MIT (MIT-LICENSE.txt)
//------------------------------------------------------------------------------
namespace DNAide.Configuration
{

	/// <summary>
	/// Event that the UrlRewriter will fire on
	/// </summary>
	public enum HttpModuleFiringEvent
	{
		/// <summary>BeginRequest</summary>
		BeginRequest,
		/// <summary>AuthorizeRequest</summary>
		AuthorizeRequest,
		/// <summary>AuthenticateRequest</summary>
		AuthenticateRequest,
		/// <summary>AuthenticateRequest</summary>
		None
	}

	/// <summary>
	/// UrlRewriter rule type i.e. rewrite or redirect
	/// </summary>
	public enum UrlRewriterRuleType
	{
		/// <summary>Rewrite</summary>
		Rewrite,
		/// <summary>Redirect</summary>
		Redirect
	}

	/// <summary>
	/// UrlRewriter destination type i.e. match a url pattern, sitemap node or just ignore 
	/// </summary>
	public enum UrlRewriterRuleDestinationType
	{
		/// <summary>UrlPattern</summary>
		UrlPattern,
		/// <summary>SiteMapNodeKey</summary>
		SiteMapNodeKey,
		/// <summary>Ignore</summary>
		Ignore
	}


	/// <summary>
	/// Sitemap rule type i.e. rewrite or redirect
	/// </summary>
	public enum UrlRewriterSiteMapRuleType
	{
		/// <summary>Rewrite</summary>
		Rewrite,
		/// <summary>Redirect</summary>
		Redirect
	}

	/// <summary>
	/// Sitemap destination, url or another sitemap node
	/// </summary>
	public enum UrlRewriterSiteMapRuleDestinationType
	{
		/// <summary>Url</summary>
		Url,
		/// <summary>SiteMapNodeKey</summary>
		SiteMapNodeKey
	}

	/// <summary>
	/// UrlRewriter search priority i.e. Rules or Sitemap
	/// </summary>
	public enum UrlRewriterSearchPriorityType
	{
		/// <summary>Rules</summary>
		Rules,
		/// <summary>SiteMap</summary>
		SiteMap
	}

	/// <summary>
	/// Regex compliation type i.e. None or Complies
	/// </summary>
	public enum RegexCompilationType
	{
		/// <summary>None</summary>
		None,
		/// <summary>Compiles</summary>
		Compiled
	}


}